During my formation in Data science at the campus numérique in the Alps, we had the opportunity to work on the trees’ database of our wonderful city.

# import des packages nécessaires
import pandas as pd
import folium

#import des données

df = pd.read_csv('tree/Stats_by_tree.csv', index_col = 0)
df.head(5)
##                                           moyenne  minimum  ...    count      somme
## (45.1543159441061, 5.76034690089422)  4650.543411        2  ...  31243.0  145297410
## (45.154046459904, 5.75982646464411)   4621.251277       10  ...  31243.0  144382237
## (45.1540202490699, 5.75998073144869)  4636.225840       11  ...  31243.0  144850087
## (45.1538601663191, 5.76005703012677)  4652.513137        7  ...  31243.0  145358951
## (45.1539221005346, 5.76002027929244)  4645.579552        7  ...  31243.0  145142325
## 
## [5 rows x 5 columns]
    # Supposons que la proximité se mesure avec la distance moyenne aux autres arbres
prox = df['moyenne'].min()
print('L\'arbre le moins isolé est en moyenne à', round(prox), 'mètres des autres arbres.')

# Supposons que la proximité se mesure avec la distance maximale à un autre arbre
## L'arbre le moins isolé est en moyenne à 1792 mètres des autres arbres.
prox2 = df['maximum'].min()
print('L\'arbre le moins isolé est au maximum à', round(prox2), 'mètres des autres arbres.')
## L'arbre le moins isolé est au maximum à 4587 mètres des autres arbres.
     # Coordonnées des deux arbres les plus éloignés l'un de l'autre 
max1 = df['maximum'].nlargest(2).index[0]
max2 = df['maximum'].nlargest(2).index[1]

     # Beaucoup d'arbres on un voisin à 1 mètres d'eux, on ne va donc pas récupérer leurs coordonnées  ,

     # Coordonnées de l'arbre le plus isolé  ,
iso_c = df['minimum'].idxmax()

     # Coordonnées des arbres les moins isolés selon les deux approches  ,
prox_c = df['moyenne'].idxmin() 
prox2_c = df['maximum'].idxmin() 
df['coord'] = df.index
map_gre = folium.Map(location = [45.18, 5.72],zoom_start= 12)
for i in range(len(df)) :
  folium.CircleMarker(eval(df.coord[i]),radius = 1,color = 'green').add_to(map_gre)
    
folium.CircleMarker(eval(max1),radius = 3,color = 'red').add_to(map_gre)    
folium.CircleMarker(eval(max2),radius = 3,color = 'red').add_to(map_gre)  
folium.CircleMarker(eval(iso_c),radius = 3,color = 'black').add_to(map_gre)  
folium.CircleMarker(eval(prox_c),radius = 3,color = 'blue').add_to(map_gre) 
folium.CircleMarker(eval(prox2_c),radius = 3,color = 'purple').add_to(map_gre) 

Sur la map ci-dessous :

map_gre
Make this Notebook Trusted to load map: File -> Trust Notebook